1. Field of the Invention
The present invention generally relates to computer systems, and more particularly to an inexpensive mechanism for real-time monitoring of computer components in network clients (workstations), and generating alerts to a remote network server signaling a component loss or change of system configuration.
2. Description of Related Art
A typical structure for a conventional computer system includes one or more processing units connected to a system memory device (random access memory or RAM) and to various peripheral, or input/output (I/O), devices such as a display monitor, a keyboard, a graphical pointer (mouse), and a permanent storage device (hard disk). The system memory device is used by a processing unit in carrying out program instructions, and stores those instructions as well as data values that are fed to or generated by the programs. A processing unit communicates with the other components by various means, including one or more interconnects (buses), or direct memory-access channels. A computer system may have many additional components, such as serial and parallel ports and expansion slots for connection to, e.g., printers and network adapters. Other components might further be used in conjunction with the foregoing; for example, a display adapter might be used to control a video display monitor, a memory controller can be used to access the system memory, etc.
Computers can be interconnected in a variety of ways, one common approach being a client-server network. A generalized client-server computing network 2 is shown in FIG. 1. Network 2 has several nodes or servers 4, 6, 8 and 10 which are interconnected, either directly to each other or indirectly through one of the other servers. Each server is essentially a stand-alone computer system as described above (having one or more processors, memory devices, storage devices and communications devices), but has been adapted (programmed) for one primary purpose, that of providing information to individual users at another set of nodes, or workstation clients 12. Clients 12 can also be fully functional, stand-alone computer systems (like computers, or PCs), or so-called "dumber" systems adapted for limited use with network 2 (like network computers, or NCs). A single, physical computer can act as both a server and a client, although this implementation occurs infrequently.
A client is generally a member of a class or group of computers or computer systems that uses the services of another class or group to which it is not related. A client also be thought of as a process (i.e., a program or task) that requests a service which is provided by another program. The client process uses the requested service without having to "know" any working details about the other program or the service itself. Based upon requests by the user, a server presents filtered electronic information to the user as server responses to the client process.
The information provided by a server can be in the form of programs which run locally on a given client 12, or in the form of data such as files that are used by other programs. Users can also communicate with each other in real-time as well as by delayed file delivery, i.e., users connected to the same server can all communicate with each other without the need for the complete network 2, and users at different servers, such as servers 4 and 6, can communicate with each other via network 2. The network can be local in nature, or can be further connected to other systems (not shown) as indicated with servers 8 and 10. The construction of network 2 is also generally applicable to the Internet.
As described above, a given computer can have many components that are generally removable, and so a large network has a tremendous amount of such relocatable assets. Theft of personal computer components, particularly those located at unsecured workstation clients, is thus becoming a major industry problem. Costly components such as central processing units (CPUs), memory, hard disks and disk drives are easily removed. Frequently, the components are reinstalled in another machine within a company. In given the small size of many of the components, they can be hidden in a pocket, briefcase or purse, and away for use in a home system.
Several solutions have been provided to address the issue of component theft. Some computer desktop systems such as those sold by International Business Machines Corp. (IBM--assignee of the present invention) have a tamper detect circuit, which requires the user to enter a password to boot the system after the cover of the desktop unit has been removed. Another solution is IBM's "Alert on LAN," which creates a network alert whenever a desktop unit's cover is removed. Neither of these solutions, however, provides information about removal or addition of critical components inside the computer system.
In light of the foregoing, it would be desirable to provide a method of notifying a remote server when key system components are removed or added to a networked computer. It would be further advantageous if the method did not require additional cabling or hardware, and if it could operate with standard network protocols and with standard management applications.